home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio / Ham Radio CD-ROM (Emerald Software) (1995).ISO / ant / antenna2 / selfimp.bas < prev    next >
BASIC Source File  |  1986-09-18  |  2KB  |  69 lines

  1. 10 CLS:KEY OFF
  2. 15 KEY 1,"":KEY 10,""
  3. 20 T$="SELF IMPEDANCE OF DIPOLE OF ANY LENGTH AND RADIUS":LC=1:GOSUB 640
  4. 30 '        MAY 27, 86
  5. 40 '       AHMAD FAIZAL MOHD ZAIN
  6. 50 PRINT:PRINT:PRINT
  7. 60 '
  8. 70 PI=3.141592
  9. 80 GOTO 280      'MAIN PROG
  10. 90 '
  11. 100 '   SUBROUTINE TO GET SI(X) AND CI(X)
  12. 110 '
  13. 120 '    INPUT X
  14. 130 '    OUTPUT SI,CI,CIN
  15. 140 '
  16. 150 X1=X: X2=X*X: X3=X2*X: X4=X3*X: X5=X4*X: X6=X5*X: X7=X6*X
  17. 160 IF X>=1 THEN 210
  18. 170 SI=X-X3/8+X5/600-X7/35280!
  19. 180 IF X=0 THEN PRINT"CI(X) UNDEFINED FOR X=0 ":RETURN
  20. 190 CI=.5772157+LOG(X)-X2/4+X4/96-X6/4320
  21. 200 GOTO 250
  22. 210 FX=((X4+7.24116*X2+2.46394)/(X4+9.068579*X2+7.15743))/X
  23. 220 GX=((X4+7.54748*X2+1.56407)/(X4+12.72368*X2+15.72361))/X2
  24. 230 SI=PI/2-FX*COS(X)-GX*SIN(X)
  25. 240 CI=FX*SIN(X)-GX*COS(X)
  26. 250 CIN=LOG(X)+.5772157-CI
  27. 260 RETURN
  28. 270 '
  29. 280 CLS
  30. 290 INPUT "LENGTH OF DIPOLE IN TERMS OF LAMBDA ";H
  31. 300 INPUT "RADIUS OF DIPOLE IN TERMS OF LAMBDA ";A
  32. 305 CLS
  33. 307 LOCATE 25,1:PRINT"                      F1 = Change parameter         F10 = QUIT"
  34. 308 LOCATE 1,1:PRINT"       SELF IMPEDANCE OF ANY DIPOLE OF ANY LENGTH AND RADIUS"
  35. 310 LOCATE 8,1:PRINT USING "LENGTH OF DIPOLE = #.##";H
  36. 320 LOCATE 8,40:PRINT USING "RADIUS OF DIPOLE = #.########";A
  37. 330 TWOBH=4*PI*H:C2BH=COS(TWOBH):S2BH=SIN(TWOBH)
  38. 340 X=TWOBH:GOSUB 100
  39. 350 SI2BH=SI:CI2BH=CI:CIN2BH=CIN
  40. 360 FOURBH=8*PI*H:C4BH=COS(FOURBH):S4BH=SIN(FOURBH)
  41. 370 X=FOURBH:GOSUB 100
  42. 380 SI4BH=SI:CI4BH=CI:CIN4BH=CIN
  43. 390 AA=LOG(H/(2*PI*A*A))
  44. 400 BB=-.5772157+AA+2*CI2BH-CI4BH
  45. 410 CC=2*SI2BH-SI4BH
  46. 420 XIN=-30*(BB*S2BH-CC*C2BH-2*SI2BH)
  47. 430 RIN=30*((2+2*C2BH)*CIN2BH-C2BH*CIN4BH-2*S2BH*SI2BH+S2BH*SI4BH)
  48. 440 IF XIN<0 THEN SIGN$=" -j" ELSE SIGN$=" +j"
  49. 450 PRINT:PRINT
  50. 460 PRINT USING "SELF IMPEDANCE OF DIPOLE IS ###.###";RIN;:PRINT SIGN$;:PRINT USING "###.###";ABS(XIN)
  51. 470 A$=INKEY$
  52. 480 IF LEN(A$)<>2 THEN 470
  53. 490 ANS=ASC(MID$(A$,2,1))
  54. 500 IF ANS=59 THEN 280
  55. 510 IF ANS=68 THEN 580
  56. 520 IF H<=0 THEN H=.05
  57. 530 IF ANS=75 THEN A=A-.0000005
  58. 540 IF ANS=77 THEN A=A+.0000005
  59. 550 IF ANS=84 THEN 580
  60. 560 IF A<=0 THEN A=.0000005
  61. 570 GOTO 310
  62. 580 T$="DO YOU WANT TO RUN THIS PROGRAM AGAIN (Y/N)? ":LC=23:GOSUB 640
  63. 590 AN$=INKEY$
  64. 600 IF AN$="Y" OR AN$="y" THEN RUN
  65. 610 IF AN$="N" OR AN$="n" THEN END
  66. 620 GOTO 580
  67. 630 :
  68. 640 LOCATE LC,(80-LEN(T$))/2+1:PRINT T$:RETURN    'SUBROUTINE TO CENTRE TEXT
  69.